Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 26.90      2.65     2.65 59032198     0.00     0.00  Imager::Sphere::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const
 22.54      4.87     2.22 21621961     0.00     0.00  Imager::Cuboid::ObjectSpace_AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const
  7.51      5.61     0.74 21621961     0.00     0.00  Imager::SolidObject_Reorientable::AppendAllIntersections(Imager::Vector const&, Imager::Vector const&, std::vector<Imager::Intersection, std::allocator<Imager::Intersection> >&) const
  6.90      6.29     0.68  3203808     0.00     0.00  Imager::Scene::CalculateRefraction(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int, double&) const
  6.70      6.95     0.66 57452084     0.00     0.00  Imager::PickClosestIntersection(std::vector<Imager::Intersection, std::allocator<Imager::Intersection> > const&, Imager::Intersection&)
  5.28      7.47     0.52  4629312     0.00     0.00  Imager::Scene::CalculateMatte(Imager::Intersection const&) const
  5.18      7.98     0.51 13887936     0.00     0.00  Imager::Scene::HasClearLineOfSight(Imager::Vector const&, Imager::Vector const&) const
  3.76      8.35     0.37        1     0.37     9.85  Imager::Scene::SaveImage(char const*, unsigned int, unsigned int, double, unsigned int) const
  3.35      8.68     0.33  4668149     0.00     0.00  Imager::Scene::CalculateLighting(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const
  1.93      8.87     0.19  9025535     0.00     0.00  Imager::Sphere::Contains(Imager::Vector const&) const
  1.62      9.03     0.16       50     0.00     0.00  encodeLZ77(uivector*, Hash*, unsigned char const*, unsigned int, unsigned int, unsigned int)
  1.42      9.17     0.14  7734025     0.00     0.00  Imager::Scene::TraceRay(Imager::Vector const&, Imager::Vector const&, double, Imager::Color, int) const
  1.12      9.28     0.11  3203808     0.00     0.00  Algebra::SolveQuadraticEquation(std::complex<double>, std::complex<double>, std::complex<double>, std::complex<double>*)
  0.91      9.37     0.09  7734025     0.00     0.00  Imager::Scene::FindClosestIntersection(Imager::Vector const&, Imager::Vector const&, Imager::Intersection&) const
  0.81      9.45     0.08  2586217     0.00     0.00  Imager::Scene::CalculateReflection(Imager::Intersection const&, Imager::Vector const&, double, Imager::Color, int) const
  0.71      9.52     0.07  3203808     0.00     0.00  Imager::SolidObject_Reorientable::Contains(Imager::Vector const&) const
  0.61      9.58     0.06  1137648     0.00     0.00  Imager::ChessBoard::SquareCoordinate(double) const
  0.51      9.63     0.05  3203811     0.00     0.00  Imager::SolidObject::SurfaceOptics(Imager::Vector const&, void const*) const
  0.41      9.67     0.04  3203808     0.00     0.00  Algebra::FilterRealNumbers(int, std::complex<double> const*, double*)
  0.41      9.71     0.04  1425504     0.00     0.00  Imager::SolidObject_Reorientable::SurfaceOptics(Imager::Vector const&, void const*) const
  0.30      9.74     0.03  1425516     0.00     0.00  Imager::Optics::ValidateReflectionColor(Imager::Color const&) const
  0.30      9.77     0.03  1425504     0.00     0.00  Imager::Optics::SetMatteColor(Imager::Color const&)
  0.30      9.80     0.03  1425504     0.00     0.00  Imager::ChessBoard::ObjectSpace_SurfaceOptics(Imager::Vector const&, void const*) const
  0.20      9.82     0.02  3203808     0.00     0.00  Imager::Cuboid::ObjectSpace_Contains(Imager::Vector const&) const
  0.10      9.83     0.01   432000     0.00     0.00  getPixelColorRGBA8(unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char const*, unsigned int, LodePNGColorMode const*)
  0.10      9.84     0.01      304     0.00     0.00  sort_coins(Coin*, unsigned int)
  0.10      9.85     0.01        2     0.01     0.01  zlib_compress(unsigned char**, unsigned int*, unsigned char const*, unsigned int, LodePNGCompressSettings const*)
  0.00      9.85     0.00   661780     0.00     0.00  string_set(char**, char const*)
  0.00      9.85     0.00   544739     0.00     0.00  addBitToStream(unsigned int*, ucvector*, unsigned char)
  0.00      9.85     0.00   201890     0.00     0.00  uivector_push_back(uivector*, unsigned int)
  0.00      9.85     0.00   136201     0.00     0.00  ucvector_push_back(ucvector*, unsigned char)
  0.00      9.85     0.00    49935     0.00     0.00  lodepng_color_mode_equal(LodePNGColorMode const*, LodePNGColorMode const*)
  0.00      9.85     0.00     1800     0.00     0.00  filterScanline(unsigned char*, unsigned char const*, unsigned char const*, unsigned int, unsigned int, unsigned char)
  0.00      9.85     0.00      686     0.00     0.00  lodepng_add32bitInt(ucvector*, unsigned int)
  0.00      9.85     0.00      332     0.00     0.00  color_tree_add(ColorTree*, unsigned char, unsigned char, unsigned char, unsigned char, int)
  0.00      9.85     0.00      327     0.00     0.00  cleanup_coins(Coin*, unsigned int)
  0.00      9.85     0.00      281     0.00     0.00  append_symbol_coins(Coin*, unsigned int const*, unsigned int, unsigned int)
  0.00      9.85     0.00       24     0.00     0.00  HuffmanTree_cleanup(HuffmanTree*)
  0.00      9.85     0.00       24     0.00     0.00  HuffmanTree_makeFromLengths2(HuffmanTree*)
  0.00      9.85     0.00       24     0.00     0.00  HuffmanTree_makeFromFrequencies(HuffmanTree*, unsigned int const*, unsigned int, unsigned int)
  0.00      9.85     0.00       22     0.00     0.00  void std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<unsigned char*>(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned char*, unsigned char*, std::forward_iterator_tag)
  0.00      9.85     0.00       11     0.00     0.00  _ZNSt6vectorIN6Imager12IntersectionESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_
  0.00      9.85     0.00        4     0.00     0.00  reportTime(char const*, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >)
  0.00      9.85     0.00        3     0.00     0.00  lodepng_chunk_create(unsigned char**, unsigned int*, unsigned int, char const*, unsigned char const*)
  0.00      9.85     0.00        3     0.00     0.00  lodepng_info_cleanup(LodePNGInfo*)
  0.00      9.85     0.00        3     0.00     0.00  lodepng_chunk_generate_crc(unsigned char*)
  0.00      9.85     0.00        3     0.00     0.00  addUnknownChunks(ucvector*, unsigned char*, unsigned int)
  0.00      9.85     0.00        3     0.00     0.00  LodePNGText_cleanup(LodePNGInfo*)
  0.00      9.85     0.00        3     0.00     0.00  LodePNGIText_cleanup(LodePNGInfo*)
  0.00      9.85     0.00        3     0.00     0.00  Imager::Optics::SetOpacity(double)
  0.00      9.85     0.00        3     0.00     0.00  Imager::Optics::SetMatteGlossBalance(double, Imager::Color const&, Imager::Color const&)
  0.00      9.85     0.00        3     0.00     0.00  Imager::Sphere::~Sphere()
  0.00      9.85     0.00        3     0.00     0.00  _ZNSt6vectorIN6Imager11LightSourceESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_
  0.00      9.85     0.00        3     0.00     0.00  _ZNSt6vectorIPN6Imager11SolidObjectESaIS2_EE17_M_realloc_insertIJRKS2_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S4_EEDpOT_
  0.00      9.85     0.00        3     0.00     0.00  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
  0.00      9.85     0.00        2     0.00     0.00  lodepng_info_init(LodePNGInfo*)
  0.00      9.85     0.00        2     0.00     0.00  checkColorValidity(LodePNGColorType, unsigned int)
  0.00      9.85     0.00        1     0.00     0.00  _GLOBAL__sub_I__Z10reportTimePKcNSt6chrono8durationIxSt5ratioILx1ELx1000000000EEEE
  0.00      9.85     0.00        1     0.00     0.00  _GLOBAL__sub_I__Z9BlockTestv
  0.00      9.85     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN6Imager6IndentERSoi
  0.00      9.85     0.00        1     0.00     0.00  _GLOBAL__sub_I__ZN7Algebra20SolveLinearEquationsEddddddddddddRdS0_S0_
  0.00      9.85     0.00        1     0.00     0.19  lodepng_encode(unsigned char**, unsigned int*, unsigned char const*, unsigned int, unsigned int, LodePNGState*)
  0.00      9.85     0.00        1     0.00     0.01  lodepng_convert(unsigned char*, unsigned char const*, LodePNGColorMode*, LodePNGColorMode*, unsigned int, unsigned int)
  0.00      9.85     0.00        1     0.00     0.00  lodepng_info_copy(LodePNGInfo*, LodePNGInfo const*)
  0.00      9.85     0.00        1     0.00     0.00  lodepng_state_init(LodePNGState*)
  0.00      9.85     0.00        1     0.00     0.19  lodepng_encode_memory(unsigned char**, unsigned int*, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int)
  0.00      9.85     0.00        1     0.00     0.00  lodepng_state_cleanup(LodePNGState*)
  0.00      9.85     0.00        1     0.00     0.10  lodepng_zlib_compress(unsigned char**, unsigned int*, unsigned char const*, unsigned int, LodePNGCompressSettings const*)
  0.00      9.85     0.00        1     0.00     0.00  lodepng_can_have_alpha(LodePNGColorMode const*)
  0.00      9.85     0.00        1     0.00     0.00  lodepng_color_mode_copy(LodePNGColorMode*, LodePNGColorMode const*)
  0.00      9.85     0.00        1     0.00     0.04  lodepng_deflatev(ucvector*, unsigned char const*, unsigned int, LodePNGCompressSettings const*)
  0.00      9.85     0.00        1     0.00     0.01  preProcessScanlines(unsigned char**, unsigned int*, unsigned char const*, unsigned int, unsigned int, LodePNGInfo const*, LodePNGEncoderSettings const*)
  0.00      9.85     0.00        1     0.00     0.00  Imager::ChessBoard::ChessBoard(double, double, double, double, Imager::Color const&, Imager::Color const&, Imager::Color const&)
  0.00      9.85     0.00        1     0.00     0.00  Imager::ChessBoard::~ChessBoard()
  0.00      9.85     0.00        1     0.00     0.00  Imager::SolidObject_Reorientable::RotateX(double)
  0.00      9.85     0.00        1     0.00     0.00  Imager::SolidObject_Reorientable::RotateZ(double)
  0.00      9.85     0.00        1     0.00     0.00  Imager::Scene::ClearSolidObjectList()
  0.00      9.85     0.00        1     0.00     0.19  lodepng::encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int)
  0.00      9.85     0.00        1     0.00     0.00  lodepng::encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, unsigned int, LodePNGColorType, unsigned int)
  0.00      9.85     0.00        1     0.00     0.19  lodepng::encode(std::vector<unsigned char, std::allocator<unsigned char> >&, unsigned char const*, unsigned int, unsigned int, LodePNGColorType, unsigned int)
  0.00      9.85     0.00        1     0.00     0.00  lodepng::save_file(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
  0.00      9.85     0.00        1     0.00     0.00  std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)
